//
// Factory.hpp for plazza in /home/peelou/SVN/pizzaillo
// 
// Made by gery baudry
// Login   <baudry_g@epitech.net>
// 
// Started on  Mon Apr 15 17:46:51 2013 gery baudry
// Last update Wed Apr 17 16:26:42 2013 kevin lansel
//

#ifndef		FACTORY_HPP
# define	FACTORY_HPP

#include	<string>
#include	"Cuisinier.hpp"
#include	"APizza.hpp"
#include	"Stock.hpp"
#include	"Regina.hpp"
#include	"Margarita.hpp"
#include	"Americaine.hpp"
#include	"Fantasia.hpp"
#include	"Plazza.hpp"
#include	"Lexer.hpp"

class		Factory
{
public:
  Factory();
  virtual ~Factory();

public:
  APizza		*createRegina(TaillePizza, Stock *, int);
  APizza		*createMargarita(TaillePizza, Stock *, int);
  APizza		*createAmericaine(TaillePizza, Stock *, int);
  APizza		*createFantasia(TaillePizza, Stock *, int);
  static std::string	pack(APizza *);
  static APizza		*unpack(const std::string &, Stock *);
};

#endif
